import { userAccountLogin } from '@/api/user.js'

// 用户状态
export default {
  namespaced: true,
  state: () => ({
    // 个人用户信息
    profile: {
      id: '',
      nickname: '',
      avatar: '',
      token: '',
      mobile: ''
    }
  }),
  mutations: {
    setProfile (state, userInfo) {
      state.profile = userInfo
    },
    // 清除用户信息
    clearUserInfo (state) {
      state.profile = {}
    }
  },
  actions: {
    // 登录接口
    getLogin (context, { account, password }) {
      return new Promise(resolve => {
        // 调用接口
        userAccountLogin({ account, password }).then(res => {
          // 传值
          context.commit('setProfile', res.data.result)
          // 目的:业务中的.then回调的执行 需要等到这个接口调用成功返回之后才执行
          // 通知的作用  什么时候当前的接口成功了 通知业务中的.then开始执行
          // 通知的动作 resolve方法
          resolve()
        })
      })
    }
    // // 异步函数  调用登录接口
    // asyncLogin (ctx, { account, password }) {
    //   return new Promise((resolve) => {
    //     // 1. 调用登录接口
    //     userAccountLogin({ account, password }).then(res => {
    //       // 2. 拿到数据调用mutation函数把数据存入state
    //       ctx.commit('setUseInfo', res.data.result)
    //       resolve()
    //       // 这里就放置数据操作  不放置任何业务逻辑操作
    //     })
    //   })
    // }
  }
}
